﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Telerik.Web.UI;
using SMA.GENTEv1;
using System.IO;

public partial class Protegidos_Pessoas_DadosPessoa__popup_ppCAT : PageBase
{
    private const string dbPath = "arq/";
    protected int idCAT = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["Id"] != null)
            idCAT = int.Parse(Request.QueryString["Id"].ToString());

        if (!IsPostBack)
        {
            trResultado.Visible = false;
            trAfastamento.Visible = false;

            if (idCAT != 0)
                CarregaDados();
        }
    }

    #region Eventos
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        try
        {
            GravarArquivo();
        }
        catch (Exception ex)
        {
            lblResultado.Text = ex.Message;
        }
    }
    protected void btnFechar_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('atestado');", true);
    }
    #endregion

    #region Metodos
    private void CarregaDados()
    {
        trAfastamento.Visible = true;

        PessoaCAT cat = new PessoaCAT(idCAT);

        txtDataEmissao.SelectedDate = cat.DataEmissao;
        txtDataAcidente.SelectedDate = cat.DataAcidente;
        txtHoraAcidente.SelectedDate = cat.DataAcidente;
        txtLocal.Text = cat.Local;
        lblAfastamento.Text = cat.GerouAfastamento;
    }
    private void GravarArquivo()
    {
        string nameFile = Salvar();

        if (RadUpload1.UploadedFiles.Count > 0)
        {
            foreach (UploadedFile validFile in RadUpload1.UploadedFiles)
            {
                string targetFolder = Server.MapPath("~/Arq");
                validFile.SaveAs(Path.Combine(targetFolder, nameFile), true);
            }

            labelNoResults.Visible = false;
            repeaterResults.Visible = true;
            repeaterResults.DataSource = RadUpload1.UploadedFiles;
            repeaterResults.DataBind();
        }
        else
        {
            labelNoResults.Visible = true;
            repeaterResults.Visible = false;
        }

        trResultado.Visible = true;
        tr1.Visible = false;
        tr2.Visible = false;
        tr3.Visible = false;
        trSeleciona.Visible = false;
        btnSalvar.Visible = false;
        trMsg.Visible = false;

    }
    protected string Salvar()
    {
        string name = string.Empty;

        PessoaCAT cat = new PessoaCAT();
        
        cat.IdCAT = idCAT;
        cat.IdPessoa = IdPessoa;
        if (idCAT == 0)
            cat.IsGerouAfastamento = false;
        cat.DataEmissao = txtDataEmissao.SelectedDate;
        cat.DataAcidente = txtDataAcidente.SelectedDate.Value.AddHours(txtHoraAcidente.SelectedDate.Value.Hour).AddMinutes(txtHoraAcidente.SelectedDate.Value.Minute);
        cat.Local = txtLocal.Text;

        cat.Salvar();

        name = "CAT" + IdPessoa.ToString() + cat.IdCAT.ToString() + ".pdf";
        cat.Path = name;
        cat.AtualizaPath();

        if(idCAT == 0)
            ExibeMsg(cat.IdCAT);

        return name;
    }
    protected void ExibeMsg(int idCat)
    {
        string msg = string.Empty;
        msg = "A inclusão desta CAT vai gerar afastamento do(a) associado(a)?";

        string urlAfastaento = string.Empty;
        urlAfastaento = "_popup/ppAfastamentos.aspx?IdAtestadoPai=" + idCat.ToString();

        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "openWin2('_popup/ppMsg.aspx?Msg=" + msg + "&Link=" + urlAfastaento + "', 'rwMsg');", true);
    }
    #endregion
}
